    import axios from 'axios' // 引用axios
	import config from '@/api/config'
	import {useMainStore} from '@/store'
	
	import route from "@/router";
	import { ElNotification , ElMessageBox, ElMessage, ElLoading } from 'element-plus'
	const baseUrl = config.baseUrl // 使用到代理
	// axios 配置
	axios.defaults.timeout = 5000;
	
	axios.defaults.baseURL =baseUrl // 这是调用数据接口,公共接口url+调用接口名
	// 增加token（先写了个固定的token，实际项目中应该是通过接口获取到token）
	axios.defaults.headers["Content-Type"] = "application/json;charset=UTF-8";
	axios.interceptors.request.use(function(config) {
		const store = useMainStore()
		config.url = "/api" + config.url;
		let UserInfo = store.$state.userInfo;
		if (UserInfo) {
			config.headers.Authorization = UserInfo
		}
		return config;
	}, function(error) {
		
		// 对请求错误做些什么
		return Promise.reject(error);
	});
	
	
	// 添加响应拦截器
	axios.interceptors.response.use(function(response) {
		// 对响应数据做点什么
		const {data} = response;
		const {code} = data;
		if (code == 200) {
			return Promise.resolve(data.data);
		} else if (code == 403) {
			 route.push("/login")
			return Promise.reject(data);
		} else  {
			ElMessage.error(data.msg)
			return Promise.reject(data);
		}
	}, function(error) {
		//  Loading.service(true).close()
		//  Message.error("网络出错了")
		// // 对请求错误做些什么
		// return Promise.reject(error);
	})
	
	
	
	// 封装get请求
	const  get=(url, params = {})=> {
		return new Promise((resolve, reject) => {
		 axios.get(url,{
	        params: params
	      }).then(res=>{
			   resolve(res)
		  }).catch(err=>{
			   reject(err)
		  })
		})
	}
	// 封装post请求
	const post=(url, data = {})=> {
	  return new Promise((resolve, reject) => {
		   axios.post(url,data).then(res=>{
			   resolve(res)
		   }).catch(err=>{
			   reject(err)
		   })
	  })
	}
	
	
	export default {
		get,post
	}
	

